home *** CD-ROM | disk | FTP | other *** search
- SuperChat v1.2
- By: Craig Jackson
-
-
- OVERVIEW
-
- SuperChat is a replacement chat mode for Percy Broadnax's MetroBBS. It
- can use ANSI color codes and simple locations in an effort to make chatting a
- little easier to follow, or resort to basic text chatting for compatability
- with unfortunate users stuck with ancient terminal software. SuperChat
- utilizes a WWIV-like "TwoWayChat" box when in ANSI mode. There are dozens
- of other features, listed later in the documentation. SuperChat, hopefully,
- should outperform even Metro's standard chat mode, due to it being in 100%
- 'C'.
-
-
- REQUIREMENTS
-
- * MetroBBS
- * Modem
- * Remote User(s) With ANSI Capability
- * IBM.font Size 8 In Your FONTS: Directory (Comes With Metro BBS)
- * Ruby.font Size 15 In Your FONTS: Directory (Off Of "WorkBench Extras")
- * Open WorkBench Screen (The Code Does NOT Test For WorkBench, Just Uses It)
- * Amiga 500/1000/2000/2000HD/2500 NO 3000(T)s (JEALOUSY ... it should run :)
- * Appreciation (That's All I Ever Ask For My Metro Doors) & Bug Reports
-
-
- FEATURES
-
- * Split Screen Interface With Identifying Color Codes
- * ONLY Printable TRUE ASCII Appears (Less Line Noise)
- * User "Time Left" Status Display (Real Time)
- * User Name Appears In Status Display
- * Universal Screen Flash For Paging
- * Intuitive Pager
- * No Large Window/Screen Pops Up When Paging
- * Depth (WindowToBack/Front) Gadgets (HIDDEN)
- * SysOp Chat Abort (Close Gadget) (HIDDEN)
- * Word Wrap
- * Modem/Keyboard Buffers (Never Lose Characters <I Hope>)
- * 100% Optimised SAS 'C' Code
- * Dual Cursors For Position Marks Of SysOp/User (Displayed Locally ONLY)
- * S:SuperChat.config File To Customize Your SetUp
- * Audiable Tone (Thanks to Dieter Bruns' LinkSound For This)
- * ASCII/ANSI Modes
- * S:SuperChat.macros File To Customize SysOp Macros
- * Capture To Printer, File, Or Both
- * Decrease/Increase A User's Time
- * Intuitionized Interface
- * Line Noise Meter
-
-
- INSTALLATION
-
- 1. Consult your MetroBBS instructions to get a description of how to
- set up a door program (remebering to rename "SuperChat" to DOORx
- where x is simply a number, as in DOOR1). SuperChat would definitely
- be MOST effective if it was NOT installed in your doors menu, but in
- you main, message, and file menu while still allowing for standard chat
- to be accessed (i.e. leave Metro's built-in chat assigned to "C" and
- SuperChat assigned to "S" or something of that nature).
- NOTE: Version 1.2 adds a new ASCII chat mode, you may enter chat with
- non-ANSI users directly, SuperChat's ASCII mode is much more
- advanced than Metro's currently built-in one (sorry Percy :)
- 2. IMPORTANT NEW TO 1.2 -- Assign/Rename the place you want
- "SuperChat.capture" to be written to as "BBS:"
- 3. Go about your normal BBS operation EXCEPT for the Enter/Exit Chat key
- will still take you to Metro's default chat mode, you will need to
- type the command you have initailized for SuperChat to enter it, just
- as if the user had paged you.
-
-
-
- CONFIG FILE
-
- All configuration information is stored in the file, on your logical
- device "S:" (assigned as the s/ directory on your boot disk usually),
- called "SuperChat.config". A standard text editor will allow you to
- edit this file. Each "number)" below indicates a seperate line, do NOT
- add comments to the end of these lines or the configure module may
- mis-interpret a value.
-
- Format: 1) Number of times to scroll the user name by and to flash/beep
- (This number MUST be at LEAST 1 or it'll default to 1)
- 2) Number (1 = On/0 = Off) indicating whether or not to beep
- during a page.
- 3) Number (1 = On/0 = Off) indicating whether or not to flash
- during a page.
-
- Example:
- 5
- 1
- 1
-
- NOTE: This file is NOT necessary, SuperChat will assume certain things
- if it's not created/present however.
-
-
- CHAT MODE SELECTOR
-
- Initially, the remote user is granted the option of choosing either ASCII
- or ANSI chat mode, however, if the SysOp is initiating chat, and even if
- he/she isn't, this small function will allow him/her to specify which mode
- to use. To take control of the SysOp's Overide panel you must: first,
- click on the section of WorkBench's title bar with the panel's text; and
- secondly, press either the Y key or the N key appropiately (look at the
- actual program for more information).
-
-
- PAGER
-
- -----------------------
- | Lone Wolf Paging... | <= User Attempting Page & Status Display
- -----------------------
- | |
- | //=======\ |
- | // # # \\ | <= Page Answer Gadget
- | ####### |
- | ######### |
- -----------------------
-
- The pager sequence begins with an egotisical, hardcoded claimer message,
- "SuperChat v1.2 -- Craig Jackson", which quickly scrolls by the title bar
- thick window. After that, the window should resize itself to reveal a
- large telephone gadget. The pager will continue to flash any opened screens
- until either the gadget is selected, and the phone is picked up; or the
- pager completes six (or specified number, see config section) unsuccessful
- screen flashes and audioable page sequences. From here, you, the SysOp,
- will be taken to the main chat part or returned to normal BBS operation.
-
-
- LAYOUT
-
- ANSI
-
- --------------------------
- | |
- | Yes... |
- | | <--- SysOp Input Display (Cyan)
- | Good... he's GREEDY!! |
- | |
- |==========[xx]==========| <--- Chat Seperator/Status Display
- | |
- | What a GREAT chat box |
- | door... I will go send | <--- User Input Display (Green)
- | the author my Porsche! |
- | |
- --------------------------
- |######GADGET STRIP######|
- --------------------------
-
- In the above, "[xx]" actually resembles something like "[LONE WOLF 45]",
- where "LONE WOLF" is the users handle and "45" is the number of minutes
- remaining in this user's session.
- When typing, word wrap should work pretty effectively, but when you run
- into the bottom border of EITHER side of the chat box (meaning that you
- type to the status bar if you're the SysOp, or the user types to the
- maximum line for himself), the lines have to be sent one by one, in full,
- and this, while occuring EXTREMELY quickly on the local terminal, most
- likely will NOT perform at such a speed remotely... meaning that you should
- wait a few seconds each time this happens, or the remote terminal (depending
- on how well it's terminal software is written) may lose some characters.
-
- ASCII
-
- --------------------------
- | Yes... |
- | What a GREAT chat box |
- | door... I will go send |
- | the author my Porsche! |
- | Good... he's GREEDY!! |
- | |
- | |
- | |
- | |
- | |
- |==========[xx]==========| <--- Status Display
- --------------------------
- |######GADGET STRIP######|
- --------------------------
-
- As you can see, SuperChat, in ASCII (read: non-ANSI) mode, doesn't
- seperate the text. It will wordwrap correctly however, and only advances
- the page locally. The rest should be familiar to you from the ANSI chat
- mode.
-
- NOTE: Contrary to the above, I am NOT an egotist... I just hate to write
- documentation when I'm ready to ship out my programs, so I get
- sarcastic, which makes me psychotic :) ... nothing wrong with me! :)
-
-
- CONTROLS
-
- SYSOP/USER FUNCTIONS
- Alpha/Numeric Keys - Puts a character to both terminals
- <BACKSPACE> - Removes last character of user who pressed it
- <RETURN> - Advances to beginning of the following line
- <TAB> - Advances four spaces from the current position
-
- SYSOP ONLY FUNCTIONS
- STANDARD
- WindowClose - Exits chat mode (upper left) [HIDDEN]
- Depth Gadgets - Places screen in fore/back (upper right) [HIDDEN]
- Capture Gadget* - Saves chat to file (BBS:SuperChat.capture)[TOGGLE]
- Printer Gadget* - Prints chat (checks for custom printer) [TOGGLE]
- +15Mins Gadget% - Adds 15 minutes to user's time (to 32000) [1CLICK]
- -15Mins Gadget% - Subtracts 15 minutes of user's time (to 1)[1CLICK]
- Macro Gadget - Enters macro select mode [TOGGLE]
- MACRO MODE
- Minus Gadget - Scroll back one macro [1CLICK]
- Plus Gadget - Scroll foreward one macro [1CLICK]
- Select Gadget - Send current macro across [1CLICK]
- Macro Gadget - Exit Macro select mode [TOGGLE]
-
- * SuperChat allows for the SysOp to capture to both a file and the
- printer at the same time, one of the two places, or neither.
- NOTE: Make sure you have the device "BBS:" either named or assigned,
- that's where the capture will go.
- % This time change currently effects SuperChat internally only, I have
- found no direct way to pass the modeified usertime when exiting a door.
-
-
- LINE NOISE INDICATOR
-
- This feature, unique to SuperChat at this writing, reflects an
- approximation of the percentage of line noise, from the modem, per minute.
- Although not entirely accurate, as it uses relatively simple routines to
- determine the amount of line noise, the line noise indicator can give you
- a general idea of how bad the connection is... if your meter constantly
- measures in the 90 percentile range, or so, it might be a good idea to
- test your line. The indicator, that thin red line at the very bottom of
- the screen surrounded by a small grey box, can be thrawted by a user
- constantly sending extended or lower-order characters across the line (i.e.
- ASCII uploading an ANSI, which not work anyways).
-
-
- MACRO FILE
-
- SuperChat looks for a file called "S:SuperChat.macros" to grab your custom
- macros. The file contains ten lines of text (!! 35 CHARACTERS OR LESS PER
- LINE!!), each line being a macro key. At the end of each macro, you
- !!MUST!! place a "|" character (promptly above the "\" to the side of the
- backspace character) for the program to read it in correctly. The following
- example demonstrates this (without the indention of course):
-
- Your momma wears combat boots...|
- What the HECK do you want??|
- Access Level Going Down NOW!!|
- What's you're deal?|
- I'm the mean, green, user beater!|
- Drop it NOW or die!!|
- Bang, you're dead!|
- Get outta my face!|
- Leave me alone!|
- I hate your whole generation!|
-
- Notice that there are no comments at the end of the lines and that EVERY
- macro is on a line by itself, proceeded by a "|" symbol, even the last line.
- Also, it's a good idea to design some more functional macros than the ones
- above, unless you have a board full of leeches :)
-
- NOTE: The macro reader module is relatively primitive in its current form,
- please follow the above steps extremely closely, or you could cause
- SuperChat to have some major problems.
-
-
- TECHNICAL OVERVIEW
-
- SuperChat v1.2 opens the serial.device on unit 0 in shared mode, which
- allows for the somewhat speedy character reads/writes. Also contributing
- to this, SuperChat has multiple buffers, of varying lengths, which wait
- their turn to be sent. Repeated calls to the ANSI 'C' function time() are
- used to test for elapsed minutes. Total Executable Length = 32804 Bytes.
- Don't worry, viruses usually don't update documenatition, so that should
- be about right :)
-
-
- REVISION HISTORY
-
- 0.9 First version, written in HiSoft BASIC, entirely to slow. Had
- wordwrap, scrolling, coloring, status bar, and a VERY simple
- pager module.
- 1.0 Fast version, written entirely in 'C' after deleting the old 1.0 'C'
- version while "cleaning up" my hard disk. Vastly improved pager
- module and overall performance. Added close/depth gadgets and
- scrolltext routine (inspired, but not coded, by IntuiTracker1.1).
- 1.1 Thanks go to Tom Reilly for suggesting a longer beep duration,
- originally limited so the SysOp would not get too annoyed while
- working/playing on/with some other program, which is now the
- first entry in the SuperChat.config file, on your logical device
- "S:" (See Above). Also, thanks to Brian Cox for knocking me into
- WWIV chat one day, so I could notice that it advanced five lines,
- instead of one, on a refresh (read as: hinted at a way to optimize
- the program). Also, chat, from the user's end, should be MUCH
- improved... I fixed a few MAJOR bugs (in cursor location) and
- made it send 50% LESS text than before, to accomplish the same goal.
- 1.2 MAJOR MAJOR UPGRADE!! Added synchnocrous printer and file capture
- routines, SysOp macro keys (gadgets), +/- usertime gadgets, and an
- ASCII chat implementation. Also, I added a relative line noise meter
- (It's just a gimmick OK?!, anyone with gimmicky ideas also let me know).
-
-
- FUTURE
-
- * (Possibly) Cursor Controls [UNLIKELY]
- * IFF Sound File Player [POSSIBLE]
- * "Do Not Disturb" Switch/Gadget [POSSIBLE]
-
-
- HELP ME
-
- Although I've proceeded relatively on my own with this project, I'm always
- open to suggestions and submissions. Basically, "SuperChat" is probably
- the STUPIEST name ANYONE could think of, let me know if you have some ideas.
- Also, I'm not entirely happy with my telephone gadget, the original was
- MUCH nicer in that it was half the size and actually looked detailed, so if
- you, or anyone you know, wishes to get their name in whatever light this
- door generates, send me some 4-color IFFs, using the 1.0-1.3.3 color
- palette, and I'll implement them if they rival mine. As always, anyone
- that sends me an A3000 will automatically recieve a disk with all the
- software I've written on it (well worth the price :).
-
-
- LEGAL JARGON
-
- I reserve all rights, Copyright (c) 1991 Craig Jackson, and accept NO
- liabilities for any damage that this software, source code, icons, data
- files, and/or documentation (how docs could ruin your machine I don't know,
- someone will find a way :) inflects on your machine and its related parts.
-
-
- CONTACT
-
- I can be electronically contacted on "Deep Thought", the Software
- Distillery's BBS at (919)-460-7430. In the unlikely event that "Deep
- Thought" comes down or changes numbers I can be contacted on "The National
- Amiga Echo" on any FidoNET node. In both places I may be found under the
- user name "Craig Jackson". If you want the 'C' source, let me know.
-
- -- Craig --
-
-